Static Detection of Loop-Invariant Data Structures

نویسندگان

  • Guoqing Xu
  • Dacong Yan
  • Atanas Rountev
چکیده

As a culture, object-orientation encourages programmers to create objects, both shortand long-lived, without concern for cost. Excessive object creation and initialization can cause severe runtime bloat, which degrades significantly application performance and scalability. A frequently-occurring coding pattern that may lead to large volumes of (temporary) objects is the creation of objects that, while allocated per loop iteration, contain values independent of specific iterations. Finding these objects and moving them out of loops requires sophisticated interprocedural analysis, a task that is difficult for traditional dataflow analyses such as loop-invariant code motion to accomplish. Our work targets data structures that are loop-invariant, and presents a static type and effect system to detect loop-invariant data structures. For each loop, our analysis inspects each logical data structure in order to find those that have disjoint instances per loop iteration and contain loop-invariant data. Instead of automatically hoisting them to improve performance (which is over-conservative), we report hoistability measurements for each disjoint loop data structure detected by our analysis. Eventually these data structures are ranked based on these measurements and are presented to the user to help manual tuning. We have performed a variety of studies on a set of 19 moderate/large-sized Java benchmarks. With the help of hoistability measurements, we found optimization opportunities in most of the programs that we inspected and achieved significant performance improvements in some of them (e.g., 82.1% running time reduction).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Damage Detection in Beam-like Structures using Finite Volume Method

In this paper the damage location in beam like-structure is determined using static and dynamic data obtained using finite volume method. The change of static and dynamic displacement due to damage is used to establish an indicator for determining the damage location. In order to assess the robustness of the proposed method for structural damage detection, three test examples including a static...

متن کامل

Embedded Crack Identification in Beam-Column Structures Under Axial Load Using an Efficient Static Data Based Indicator

A triangular model base on an investigation which has done by Sinha et al. has been developed for evaluating embedded crack localization in beam-column structures. In the assessment of this member’s behavior, the effects of displacement slope are necessary. In order to propose a crack localization method for embedded crack, an efficient static data based indicator is proposed for this crack in ...

متن کامل

Adaptive fuzzy pole placement for stabilization of non-linear systems

A new approach for pole placement of nonlinear systems using state feedback and fuzzy system is proposed. We use a new online fuzzy training method to identify and to obtain a fuzzy model for the unknown nonlinear system using only the system input and output. Then, we linearized this identified model at each sampling time to have an approximate linear time varying system. In order to stabilize...

متن کامل

Damage detection of multi-girder bridge superstructure based on the modal strain approaches

The research described in this paper focuses on the application of modal strain techniques on a multi-girder bridge superstructure with the objectives of identifying the presence of damage and detecting false damage diagnosis for such structures. The case study is a one-third scale model of a slab-on-girder composite bridge superstructure, comprised of a steel-free concrete deck with FRP rebars...

متن کامل

Assertion-based Loop Invariant Generation

Many automated techniques for invariant generation are based on the idea that the invariant should show that something “bad” will not happen in the analyzed program. In this article we present an algorithm for loop invariant generation in programs with assertions using a weakest precondition calculus. We have realized the algorithm in the extended static checker ESC/Java2. Challenges stemming f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012